package com.example.ibsp_demo.mapper.content;

import com.example.ibsp_demo.pojo.entity.content.ContentInteraction; // 替换为实际包路径
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;

@Mapper
public interface ContentInteractionMapper {

    // 根据主键查询
    ContentInteraction selectByCiid(Integer ciid);

    // 根据内容ID查询互动记录（如查询某篇帖子的所有互动）
    List<ContentInteraction> selectByCtid(Integer ctid);

    // 根据用户ID查询互动记录（如查询某用户的所有互动行为）
    List<ContentInteraction> selectByUid(Integer uid);

    // 查询用户对某内容的特定互动（如判断用户是否已点赞）
    ContentInteraction selectByCtidAndUidAndAction(Map<String, Object> params);

    // 统计内容的特定互动数量（如点赞数、评论数）
    Integer countByCtidAndAction(Map<String, Object> params);

    // 插入互动记录（如点赞、评论、收藏）
    int insert(ContentInteraction interaction);

    // 删除互动记录（如取消点赞）
    int deleteByCiid(Integer ciid);

    // 按内容ID和互动类型删除（如批量删除某内容的所有点赞）
    int deleteByCtidAndAction(Map<String, Object> params);
}